package main

import "fmt"

/*
看到第242页
二维数组练习
*/
func main() {
	fmt.Println("==二维数组练习===")
	/* var 变量名 [大小][大小] 类型 */
	var arr [3][4]int
	arr[0][0] = 1
	arr[0][1] = 2
	arr[2][2] = 3
	/* 遍历二维数组 */
	for i := 0; i < len(arr); i++ {
		for j := 0; j < len(arr[i]); j++ {
			fmt.Printf("%d ", arr[i][j])
		}
		fmt.Println()
	}

	/* 内存地址 */
	fmt.Println("==内存地址=arr==", arr)
	fmt.Println("==内存地址=arr[0]==", &arr[0])
	fmt.Println("==内存地址=[0][0]==", &arr[0][0])

	/* 直接初始化 */
	var arr2 = [3][5]int{{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}}
	for i := 0; i < len(arr2); i++ {
		for j := 0; j < len(arr2[i]); j++ {
			fmt.Printf("%d ", arr2[i][j])
		}
		fmt.Println()
	}

	/* 二维数据遍历 */
	for i, v := range arr2 {
		for j, v2 := range v {
			fmt.Printf("range遍历 arr2[%d][%d]=%d ", i, j, v2)
		}
		fmt.Println()
	}
}
